#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <string.h>


int main()
{
    int fd = open("bite.txt", O_WRONLY|O_CREAT, 0664);
    if(fd == -1)
    {
        perror("open");
        return 1;
    }
    off_t pos = lseek(fd, 0, SEEK_SET); 
    pos = lseek(fd, 10, SEEK_CUR);  

    return 0;
}

// int main()
// {
//     int fd = open("bite.txt", O_RDONLY);
//     if(fd == -1)
//     {
//         perror("open");
//         return 1;
//     }
//     char buf[1024];
//     ssize_t s = read(fd, buf, sizeof(buf));
//     if(s > 0)
//     {
//         buf[s] = 0;
//         printf("%s\n", buf);
//     }

//     return 0;
// }

// int main()
// {
//     int fd = open("bite.txt", O_WRONLY|O_CREAT, 0664);
//     if(fd == -1)
//     {
//         perror("open");
//         return 1;
//     }
//     char* str = "I like Linux\n";
//     write(fd, str, strlen(str));
//     close(fd);
//     return 0;
// }

// int main()
// {
//     FILE *fp = fopen("bite.txt", "rw");
//     if(fp == NULL)
//     {
//         perror("fail fp");
//         exit(1);
//     }
//     fseek(fp, 0, SEEK_SET);
//     fclose(fp);
//     return 0;
// }

// int main()
// {
//     FILE *fp = fopen("bite.txt", "w");
//     if(fp == NULL)
//     {
//         perror("fail fp");
//         exit(1);
//     }
//     char* str = "abcde\n";
//     fwrite(str, sizeof(char*), 1, fp);
//     printf("%s\n", str);
//     fclose(fp);
//     return 0;
// }

// int main()
// {
//     FILE *fp = fopen("bite.txt", "r");
//     if(fp == NULL)
//     {
//         perror("fail fp");
//         exit(1);
//     }
//     char* str = "abcde";
//     fread(str, sizeof(char*), 1, fp);
//     printf("%s\n", str);
//     fclose(fp);
//     return 0;
// }

// int main()
// {
//     printf("I am a process, pid: %d, ppid: %d\n", getpid(), getppid());
//     printf("开始替换\n");
//     execl("/usr/bin/ls", "ls", "-l", "-a", NULL);
//     printf("替换结束\n");
//     return 0;
// }

// int main()
// {
//     pid_t id = fork();
//     if(id == 0)
//     {
//         int cnt = 5;
//         while(cnt--)
//         {
//             printf("I am a child, pid: %d, ppid: %d\n", getpid(), getppid());
//             sleep(1);
//         }
//         exit(1);
//     }

//     printf("父进程正在休眠\n");
//     sleep(10);
//     printf("父进程开始回收\n");
//     pid_t rid = wait(NULL);
//     if(rid > 0)
//     {
//         printf("wait successm rid: %d\n", rid);
//     }
//     printf("回收成功\n");

//     return 0;
// }